webix.type(webix.ui.tree, {
  name:"menuTree",
  height: 40,
  folder:function(obj, common){
    if(obj.icon)
      return "<span class='webix_icon icon fa-"+obj.icon+"'></span>";
    return "";
  }
});
webix.ready(function(){
	  var treedata = {};
    webix.ajax().sync().post("/customer_plat/login.LoginAction/getMenus","",function(text, xml, xhr) {
    	treedata = JSON.parse(text);
    	treedata.sort(function (a, b) {
    		　　return a.sort_num-b.sort_num;
    	});
    });
webix.ui.fullScreen();
 
  //将所有打开的iframe的id赋值给变量openAll
  var openAll=new Array();
  openAll.push("/customer_plat/home.homeAction/index");
  var oa=new Array();//openAll处理过重复后的，后面又进行了删除后数据处理
  var newdata=["全部删除","删除其他","删除右边"];
  //toolbar
  var my_toolbar={
    view:"toolbar",
    height: 60,
    elements:[ 
      {view:"label",template:"<div><span style='margin-left:50px;' class='wenzi'>ASTS_客户工作平台</span></div>"},//第1行结束
       { view:"menu",
          id:"userMenu",
          type:{
                  subsign:true
                },
          data:[
            { id:"1",view:"label",value:cname,icon:"user",type:"icon", autowidth:true,submenu:[
                { view:"button", type:"icon", icon:"cog", value:"修改密码", width:100 ,click:"set"},
                { view:"button", type:"icon", icon:"level-up", value:"注销", width:100 ,click:"window.location.href = 'login.html';"},
              ]
            }
          ], 
		 tooltip:{
                template:"<span class='webix_strong'>#value#</span>"
            },
          width:130,
          css:"userMenu",
          openAction:"click",
          on:{
            onMenuItemClick:function(id){
              var value=this.getMenuItem(id).value;
              console.log(value);
              if(value=="修改密码"){
                 $$("win1").show();
              }
              if(value=="注销"){
                 window.location.href = '/customer_plat/login.LoginAction/loginOut';
              }
            }
          },
        },
	  { view:"button", type:"icon", icon:"home", label:"首页", width:100,click:"firstPage()" },
      //{ view:"button", type:"icon", icon:"cog", label:"修改密码", width:120,click:"set" },
      //{ view:"button", type:"icon", icon:"level-up", label:"注销", width:100 ,click:"window.location.href = '/customer_plat/login.LoginAction/loginOut'"},
      //{ width:80 }
    ]
  };
  //tree
  var my_tree={
    view:"tree",
    css:"tree",
    id:"left_tree",
	type: "menuTree",
    // activeTitle:true,
    width:170,
    data:webix.copy(treedata),         
    select:true,
    height:890
  };
  //tabbar
  var my_tabbar={
    view:"tabbar", id:"my_tab",height:50, tabMinWidth:140,
    close:true,
    onContext:{}, // the empty object 
    options:[{ value: '首页', id: '/customer_plat/home.homeAction/index'}], 
  };
  //iframe
  var my_iframe={
    view:"iframe", 
    css:"iframe",
    id:"frame-body",
    width:1740, 
    src:"/customer_plat/home.homeAction/index"
  };
  //contextmenu 用来删除全部打开的界面的下拉列表
  webix.ui({
    view:"contextmenu",
    id:"cmenu",
    data:newdata
  });
  //整个web的布局
  var web={
    container:"body",
    rows:[
      my_toolbar,
      {
        cols:[
          {
          rows:[ my_tree,
          {view:"label",template:"<div class='rizi'>v1.1.002&nbsp;<span class='update' onclick=\"showLog();\">&nbsp;更新日志</span></div>",height:0}
          ]
        },
          {view:"resizer"},//第2行第2列结束
          {
            type:"line",
            rows:[
              my_tabbar,
              my_iframe
            ]
          }       
        ]
      },//----cols结束----
    ]//----rows结束----
  }

 var xiugaiForm=[
      {view:"text",id:"psd",type:"password",height:42,name:"psd",label:"旧密码:" },
      {view:"text",id:"psd1",type:"password",height:42,name:"psd1",label:"新密码:" },
      {view:"text",id:"psd2",type:"password",height:42,name:"psd2",label:"确认密码:" },
      {view:"button",id:"sure",name:"sure",css:{"text-align":"center"},value:"确定",type:"form",click:"submit"}
     ];
  webix.ui({
    view:"window",
      id:"win1",
      move:true,
      modal:true,
      left:700, top:200,
      css:{"box-shadow":"1px 1px 1px 1px #eee"},
      // resize:true,
      head:{
         cols:[
        {view:"label", template:"<span style='font-size: 14pt; font-family: '微软雅黑';'' >&nbsp;&nbsp修改密码</span>" },
        { view:"icon", icon:"times-circle",
          click:"$$('win1').hide();"}
        ]
      },
      body:{
        view:"form",
        id:"xiugaiForm",
        width:450,
        margin:20,
        elements:xiugaiForm
      }
    });
	 var head={
      view:"toolbar", margin:-4, cols:[
        {view:"label", label: "版本日志" },
        { view:"icon", icon:"times-circle",
          click:"$$('win3').hide();"}
        ]
  };
   var body={
    rows:[{ 
	        	template:"<h2>客户工作平台1.1.002 (2016-01-29) 升级</h2>" +
			  		"<div>" +
			  		"1.新增权限管理，包括角色管理，人员管理，人员角色管理<p>" +
			  		"</div>",
					css:"firstT",
					
					autoheight:true
		},
          { 
              template:"<h2>客户工作平台1.0.042 (2016-01-20) 升级</h2>" +
              		"<div>" +
              		"1.新增工序、规格[删除]功能<p>" +
              		"2.新增修改密码功能<p>" +
              		"3.完善所有查询功能，清空查询条件后将恢复查询前的数据<p>" +
              		"4.完善班别管理，起始、截止时间选择框，弹出位置调整<p>" +
              		"5.完善添加项目，在没有录入工序名称的情况下点击[添加工序]后，按钮置灰，不能再点击<p>" +
              		"6.完善工序、规格、机台等信息都没有录入的情况下，点击[完成]按钮还是可以提交项目<p>" +
              		"7.完善项目同一工序内可以添加相同的刀具规格<p>" +
              		"8.完善工序、规格功能，判断其是否有相同，相同则不让其在录入<p>" +
              		"9.完善工序、规格功能，判断相同的规格不能添加，但规格列表会产生新的一行，这空的一行必须录数据才能保存<p>" +
              		"10.完善排配功能，排配时可以修改排配的数量<p>" +
              		"11.完善由于表格宽度问题造成的数据显示不完全的体验<p>" +
              		"11.修复删除操作员会把操作员所有的记录全部删除，导致组别操作员显示bug、以及领用回收记录也删除的bug<p>" +
              		"12.修复操作员入组，切换组后组数据没保存的bug<p>" +
              		"13.修复全部移除组内操作员，保存不了的bug<p>" +
              		"14.修复机台管理，添加机台没有按内部编号倒序显示bug<p>" +
              		"15.修复修改班别，再保存，所有班别序号会变化导致传到终端的数据不对的bug<p>" +
              		"16.修复班别信息在计划排配显示不了bug<p>" +
              		"17.修复刀具库管理，编辑规格点击[保存修改]数据没有保存的bug<p>" +
              		"18.修复工序页面点击[上一步]返回，项目名称等数据消失的bug<p>" +
              		"19.修复工序页面点击[上一步]返回，项目名称等数据消失；再返回工序页面点击[完成]按钮，项目还是能提交的bug<p>" +
              		"20.修复工序、规格、机台为空也能保存的bug<p>" +
              		"21.修复项目添加完成后，当前项目页面下未显示bug<p>" +
              		"22.修复完成项目页面，按[项目名称]不能查询的bug<p>" +
              		"23.修复生产计划页面，[计划状态]显示为数字的bug<p>" +
              		"24.修复生产计划页面，分页标签bug<p>" +
              		"25.修复安排计划，开始时间、结束时间没有判断的bug<p>" +
              		"26.修复安排计划，开始时间、结束时间设置成同一天计划不能安排成功的bug<p>" +
              		"27.修复生产计划页面标题栏查询报错bug<p>" +
              		"28.修复生产排配，排配时班别不显示bug<p>" +
              		"29.修复排配时班别不能选择的bug<p>" +
              		"30.修复已排配的计划不能查看的bug<p>" +
              		"31.修复已排配的计划还可以继续排配的bug<p>" +
              		"32.修复查看已排配的计划时，数据显示错误<p>" +
              		"33.修复库存状况，查看详情时，库存中有其他用户的脏数据遗留<p>" +
              		"34.修复库存分页标签bug<p>" +
              		"35.修复在同一浏览器下登录两个用户，数据会别覆盖的bug<p>" +
              		"36.修复用户登录客户平台操作半小时后，会退出，需重新登录的bug<p>" +
              		"37.修复产能为0，用刀量最少为1的bug<p>" +
              		"38.修复计划在删除时还显示的bug<p>" +
              		"39.新增计划删除功能<p>" +
              		"40.新增项目删除功能<p>" +
              		"41.修复刀具库管理中，添加重复刀具后，创建项目不成功的bug<p>" +
              		"42.修复刀具库管理中，修改安全库存无效的bug<p>" +
              		"</div>",
            css:"firstT",
           
           autoheight:true
          }
        ]
  };
  webix.ui({
    view:"window",
    id:"win3",
    position:"center",
    width:900,
    height:600,
    modal:true,
    move:true,
    head:head,
    body:{
             view:"scrollview",
             body:body,
             scroll:true,
           }
 
  });
  webix.ui(web);//---webix.ui结束----
  
  //当点击左树时触发事件打开相应的Tabbar和iframe界面以及保存所有打开的iframe id
  $$("left_tree").attachEvent("onItemClick",function(sid,e,node){
    // 获取树的长度
    // console.log(sid);
	  var frame = $$("frame-body").getIframe();
	  var item=this.getItem(sid);
	  var value=item.value;
	  var t=$$("left_tree").serialize();
	  if(frame.src.indexOf("planDetailIndex") > 0 ){
		  webix.alert({
              title:"提醒",
              text:"排配是否已保存下发?",
              ok:"是", 
              cancel:"否",
              type:"confirm-warning",
              callback:function(result){
                if(result==true){
                	    // console.log(item.value);
                	    // $$('my_tab').addOption(sid,value,true);
                	    for(var i=0;i<t.length;i++){
                	      if(t[i].$count==0&&t[i].id==sid){
                	        $$('frame-body').define("src", frame);
                	        $$('my_tab').addOption(sid,value,true);
                	      } 
                	      else{
                	          $$("left_tree").open(sid);
                	          for(var j=0;j<t[i].$count;j++){//每个根目录下子目录的数目
                	            if(t[i].data){
                	              if(t[i].data[j].$count==0&&t[i].data[j].id==sid){
                	                $$('frame-body').define("src", sid);
                	                $$('my_tab').addOption(sid,value,true);
                	              } 
                	            }
                	          }
                	      }
                	    } 
                	    openAll.push(sid);
                	     // console.log(openAll);
                	    Array.prototype.distinct = function(){//去除数组重复元素
                	      var self = this;
                	      var _a = this.concat().sort();
                	      _a.sort(function(a,b){
                	        if(a == b){
                	          var n = self.indexOf(a);
                	          self.splice(n,1);
                	        }
                	      });
                	     return self;
                	    };
                	    oa=openAll.distinct(); 
                	  
                }
              }
            });
	  }else{
		  
		  var item=this.getItem(sid);
  	    var value=item.value;
  	    // console.log(item.value);
  	    var t=$$("left_tree").serialize();
  	    // $$('my_tab').addOption(sid,value,true);
  	    for(var i=0;i<t.length;i++){
  	      if(t[i].$count==0&&t[i].id==sid){
  	        $$('frame-body').define("src", sid);  	        
  	        $$('my_tab').addOption(sid,value,true);
  	      } 
  	      else{
  	          $$("left_tree").open(sid);
  	          for(var j=0;j<t[i].$count;j++){//每个根目录下子目录的数目
  	            if(t[i].data){
  	              if(t[i].data[j].$count==0&&t[i].data[j].id==sid){
  	                $$('frame-body').define("src", sid);
  	                $$('my_tab').addOption(sid,value,true);
  	              } 
  	            }
  	          }
  	      }
  	    } 
  	    openAll.push(sid);
  	     // console.log(openAll);
  	    Array.prototype.distinct = function(){//去除数组重复元素
  	      var self = this;
  	      var _a = this.concat().sort();
  	      _a.sort(function(a,b){
  	        if(a == b){
  	          var n = self.indexOf(a);
  	          self.splice(n,1);
  	        }
  	      });
  	     return self;
  	    };
  	    oa=openAll.distinct(); 
	  }
  }); 
  //当点击tabbar时触发事件打开相应的iframe界面并高亮相应的树节点
  $$("my_tab").attachEvent("onAfterTabClick",function(sid){
    $$('frame-body').define("src", sid);
    $$('left_tree').select(sid); 
  });
  //当右键tabbar时触发事件打开contextmenu
  $$("cmenu").attachTo($$("my_tab").$view);
  //当点击tab上的×后触发事件关闭相应的iframe界面并高亮变换后相应的树节点
  $$("my_tab").attachEvent("onOptionRemove", function(id, value){
	  $$('frame-body').define("src", value);
    $$('left_tree').select(value);
    // console.log(id);
    if(value==-1){//当删除了所有的界面时，默认打开主页iframe和tabbar
      $$('frame-body').define("src", "/customer_plat/home.homeAction/index");
      $$('my_tab').addOption("/customer_plat/home.homeAction/index","首页",true);
    }
    //在数组oa中删除相应的元素    
    for(var i=0;i<oa.length;i++){
      if(oa[i]==id){
         oa.splice(i,1);
      }
    }
});

  //当右键contextmenu选项后删除全部
  $$("cmenu").attachEvent("onItemClick",function(sid,e,node){
      var context = this.getContext();
      // var src=context.target.attributes[1].nodeValue;
      var src=context.target.attributes[1].value;

      var ob=oa.reverse();
      //谷歌可以用，火狐不兼容
      //var listId = context.toElement.innerText;
      //谷歌、火狐都可以用
    var listId = context.target.childNodes[0].data;
    var del=oa.length;
    if(sid=="全部删除"){
      for(var i=0;i<del+1;i++){
          i=0;
          del--;
          $$('my_tab').removeOption(oa[i]);       
      }
    }
    if(sid=="删除其他"){
      for(var i=0;i<del+1;i++){
          i=0;
          del--;
          // if()
          $$('my_tab').removeOption(oa[i]);       
      }
      $$('frame-body').define("src", src);
      $$('my_tab').addOption(src,listId,true);
      openAll.push(src);
      $$('my_tab').removeOption("/customer_plat/home.homeAction/index");    
    }
      if(sid=="删除右边"){
      for(var i=0;i<del+1;i++){
          i=0;
          del--;
          $$('my_tab').removeOption(oa[i]);
          if(src==oa[i]){
             break;
          } 
      }
    }
  });
});

 function firstPage(){
    $$('frame-body').define("src", "/customer_plat/home.homeAction/index");
      $$('my_tab').addOption("/customer_plat/home.homeAction/index","首页",true);
  }
  function set(){
      $$("win1").show();
  }

   function submit(){
    var params={};
    var aa=$$("xiugaiForm").getValues();
    console.log(aa);
    params.psd=aa.psd;
    params.psd1=aa.psd1;
    params.psd2=aa.psd2;
    

    
    if(params.psd==""){
      alert("请输入原来的密码...");
      return false;
    }
    if(params.psd1==""){
      alert("请输入新的密码...");
      return false;
    }
    if(params.psd2==""){
      alert("请确认新的密码...");
      return false;
    }
    else{
	    console.log(params);
	    webix.ajax().sync().post("/customer_plat/login.LoginAction/updatePassWord",params,function(text, xml, xhr) {
	       var res = JSON.parse(text);
	    	if(res.ret=="1"){
	    	 alert("修改成功");
			 $$('win1').getBody().clear();
	         $$("win1").hide();
	      }
	      else{	
	    	alert(res.msg);
 	      }
	    });
    }
   }
  function showLog(){
	  $$("win3").show();
  }
   